System and method for illuminating a target of a barcode reader

ABSTRACT

A code reader may include a light source configured to illuminate a target area in which items are to be located for reading machine-readable indicia associated with the items, an image sensor configured to capture an image of the target area, an illumination drive circuit in electrical communication with the light source, and an image capture circuit. The image capture circuit may be configured to (i) enable and disable the image sensor to capture an image of the target area during the high illumination and a portion(s) of the low illumination of the target area, and (ii) read an image captured by the image sensor. The illumination drive signals may cause the illumination drive circuit to generate a high illumination drive signal to cause the light source to produce a high illumination, and generate a low illumination drive current to cause said light source to produce a low illumination.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 17/081,887, filed Sep. 28, 2018, which is a continuation of U.S. patent application Ser. No. 16/146,998, filed on Sep. 28, 2018, now U.S. Pat. No. 10,817,685, and which claims priority to U.S. Provisional Patent Application No. 62/565,015 filed on Sep. 28, 2017, the contents of each of which are hereby incorporated by reference in their entirety.

FIELD

The present invention relates to barcode readers, and more specifically, to continuous illumination barcode reading systems.

BACKGROUND

Machine-readable indicia (“indicia”) or optically readable information, such as barcodes, QR codes, digital watermarks, printed characters, etc., are labels containing coded information. Machine-readable indicia are used in a wide variety of applications ranging from product traceability to product identification. Machine-readable indicia are read by barcode readers and other similar devices, such as smartphones. Machine-readable indicia reading processes often illuminate printed characters (OCR) and other optically encoded information, such as digital watermarks, and used for machine vision.

Barcode readers, such as two-dimensional barcode readers, use a camera that exploits a sensor, such as rolling or global shutter sensors, to create a digital image representative of an object with a machine-readable indicia printed thereon. Electronics internal to the barcode reader process the image to extract information that may be decoded and utilized further.

Limitations exist for both rolling shutter sensors and global shutter sensors. For example, rolling shutter sensors require continuous illumination so as to not unintentionally obtain black or unexposed scenes in between exposing one line at a time of an image. The continuous illumination combined with an extended sensor exposure time, however, may result in motion blur that can affect decoding capabilities of the electronics. Additionally, rolling shutter sensors present the well-known phenomena of distortion defects due to motion and of the image flickering due to pulsed ambient light, since not all the sensor is exposed simultaneously.

Alternatively, global shutter sensors may be utilized in an attempt to overcome motion distortion defects and flickering. Global shutter sensors expose an entire image sensor array at a time so that continuous illumination is unnecessary. Light may be switched on once every captured frame only at exposure time and switched off otherwise. Switching the light on and off may also have an added benefit of increased energy efficiency. Unfortunately, global shutter sensors used with a limited exposure and illumination time also include drawbacks, such as an inability to exploit longer integration time, which may be used for extending a depth-of-field of the barcode reader. As a result, reading machine-readable indicia at a relatively far distance may be dependent on ambient light sources that lack reliability and controllability.

In many use cases, the barcode readers are used to read machine-readable indicia on objects (or items) that are moving quickly and at constantly varying distances. A barcode reader in such circumstances cannot sacrifice motion blur for an ability to read objects at a far distance and travelling at fast speeds. The barcode reader, for certain applications, must have an ability to read codes at close or far distances that are moving quickly with high precision in order to minimize device driven errors in product traceability and product identification. The use of multiple illumination systems for close and far distances adds cost and complexity.

BRIEF SUMMARY

A dual-intensity, continuous illumination barcode reader may be adapted to exploit a global shutter based image sensor and a pulsed light source system capable of switching between a high level of light power and a low level of light power. The high level of light power may be a short-pulsed powerful flash of light that may be combined with a short sensor integration time (e.g., less than 1 ms) in order to achieve high motion tolerance and dominate a scene in a near field of a field-of-view of the barcode reader. The low level of light power may fill up at least a portion of a remaining part of a frame time and illuminate a far field of the field-of-view of the barcode reader with a longer integration time (order of magnitude of 10 ms). The barcode reader may have a light or illumination sensing device and an amplifier to extract a signal out of the light sensing device that may be representative of a return light of the field-of-view of the barcode reader. The return light may be a result of one of, or a combination of, a light response to the high level of light power in the near field, a light response to the low level of light power in the far field, and ambient light in the field-of-view. The signal generated by the light sensing device may be used to optimize subsequent exposure timing, gain, and other functional parameters of the image sensor. A “continuous on” light effect may be achieved according to embodiments described in further detail hereinbelow.

One embodiment of a code reader may include a light source configured to illuminate a target area in which items are to be located for reading codes associated with the items, an image sensor configured to capture an image of the target area, an illumination drive circuit in electrical communication with the light source, and an image capture circuit. The image capture circuit may be configured to (i) enable and disable the image sensor to capture an image of the target area during the high illumination and a portion(s) of the low illumination of the target area, and (ii) read an image captured by the image sensor. The illumination drive signals may cause the illumination drive circuit to generate a high illumination drive signal to cause the light source to produce a high illumination, and generate a low illumination drive signal to cause said light source to produce a low illumination.

One embodiment of a process may include illuminating a target area by (i) emitting a high illumination responsive to a high current pulse during a first time period, and (ii) emitting a low illumination responsive to a low current signal during a second time period. An image of the target area may be captured during emission of the high illumination and a portion(s) of the low illumination. The image may be processed to determine if a machine-readable indicia associated with an item is within the target area, and processing the machine-readable indicia to determine a code represented thereby.

One embodiment of an illumination drive circuit may include a power supply controller electrically coupled to an external power source. An energy storage component may be electrically coupled to the power supply controller, and configured to store electrical energy. The power supply controller and energy storage component may form a high current pulse circuit that is configured to generate high current pulses and low current signals. At least one light source, such as a light-emitting diode (LED) may be in electrical communication with the high current pulse circuit. A current sink may be in electrical communication with the light source(s). A driving circuit may be in electrical communication with the current sink to enable the high current pulse circuit to drive the light source(s) to output light using one of the high current pulses or low current signals.

A process of illumination may include charging an energy storage component. The energy storage component may be discharged to generate a high current pulse to cause a light source to produce a light strobe. Current may be limited to a low level current threshold to the light source during low level emission periods defined by times outside the high current pulse.

A practical implementation may include a power supply for the light source constantly providing current to generate a continuous illumination. Current may be limited to a high-level threshold for a short time for generation of a high current pulse to cause a light source to produce a light strobe. Current may be limited to a low level current threshold to the light source during the remaining time of a frame, thereby continuously providing low intensity light when not generating a high intensity light strobe.

One embodiment of a code reader using the dual-intensity, continuous illumination mode and a photodiode as previously described may include an optimization algorithm running in its processor that receives as input the data from the photodiode and possibly from the image sensor, and then processes the information regarding the detected light in the field-of-view over time. Such an algorithm may then continuously profile (monitor) the signal coming from the photodiode, so to evaluate and infer the following: the object proximity to the sensor or the center of the field-of-view; the object movement and speed in the field-of-view (if the object is closing in or moving away from the sensor or from the center of the field-of-view); the object size and/or light reflectivity; the ambient light.

In one embodiment, an algorithm may use the information on proximity and movement of object and on ambient light in order to optimize the code reader sensor and illumination system right before acquiring the next image for (i) reducing motion blur and (ii) having the best possible brightness and contrast on the said image, thus improving decoding performance.

One embodiment of a code reader may include a light source configured to illuminate a target area in which items are to be located for reading machine-readable indicia associated with the items. An image sensor may be configured to capture an image of the target area. An image capture circuit may be configured to cause the light source to generate a dual, continuous illumination to enable the image sensor to capture an image of an item within the target area in response to a first logic signal. In response to a second logic signal, the light source may cause a continuous low intensity light to be generated to capture an image of the item within the target area.

BRIEF DESCRIPTION OF THE DRAWINGS

Illustrative embodiments of the present invention are described in detail below with reference to the attached drawing figures, which are incorporated by reference herein and wherein:

FIGS. 1A and 1B are illustrations of illustrative barcode readers configured to read machine-readable indicia utilizing dual-intensity, continuous illumination modes, and system operable in a fixed or handheld position;

FIG. 2 is a block diagram of illustrative components of a barcode reader system that utilizes dual-intensity, continuous illumination mode for reading machine-readable indicia;

FIG. 3 is a schematic diagram of an illustrative illumination drive circuit;

FIG. 4 is an illustration of an illustrative graph of illumination and control signals of a barcode reader;

FIG. 5 is an illustration of an illustrative graph that depicts an imaging frame and an illumination current level over the imaging frame by a barcode reader;

FIGS. 6A and 6B (collectively FIG. 6 ) are illustrative graphs at a first scale and second, zoomed in scale showing photodiode readings captured by an oscilloscope of an object with a code moving from a near field to a far field and vice versa of a target area of a barcode reader;

FIGS. 7A and 7B (collectively FIG. 7 ) are illustrative graphs focused on showing photodiode readings captured on an oscilloscope of an object with a code in a far field of a target area of a barcode reader;

FIGS. 8A and 8B are illustrations of illustrative graphs at a first scale and second, zoomed-in scale focused on showing photodiode readings captured by an oscilloscope of an object with a code in a near field coming from a far field of a target area of a barcode reader;

FIGS. 9A and 9B are illustrations of illustrative graphs at a first scale and second, zoomed-in scale focused on showing photodiode readings captured by an oscilloscope of an object with a code in a near field coming from a far field of a target area of a barcode reader with ambient light modulated at 100 Hz; and

FIGS. 10A-10D (collectively FIG. 10 ) are flow charts representing an example of an embodiment of an algorithm running while operating a code reader by constantly assessing current value and first order derivative of a photodiode signal, detection of lighting condition to detect an object, and movement.

DETAILED DESCRIPTION

With regard to FIGS. 1A and 1B, illustrations of barcode reader systems 100 a and 100 b inclusive of barcode readers 102 a and 102 b (collectively 102) operable in a fixed position, such as barcode reader 102 a, or handheld, such as barcode reader 102 b, are shown. The barcode readers 102 a and 102 b may be configured to respectively identify items 104 a, 104 b, and 104 c (collectively 104) in a target area substantially in a field-of-view of the respective barcode readers 102 a and 102 b. The items 104 may be inclusive of respective machine-readable indicia 106 a, 106 b, and 106 c (collectively 106) that may be representative of a code associated with the items 104 that enable the barcode readers 102 a and 102 b to identify the items.

In one embodiment, the barcode reader 102 a may be configured to constantly scan the target area, such as, but not limited to, a checkout area 108, which may include a conveyor belt. In response to identifying the existence of item(s) 104 a and/or 104 b in the target area, the barcode reader 102 a may scan or image the machine-readable indicia 106 a and/or 106 b (e.g., barcode, QR code, or any other machine-readable code or markings) captured on the items 104 a and 104 b.

In another embodiment, the barcode reader 102 b may include a handle 110 that a user may hold and trigger 112 for the user to engage. The user may cause the barcode reader 102 b to scan or image the machine-readable indicia 106 c using dual-intensity, continuous illumination processes, as further described herein. In an embodiment, a conductive cord (not shown) may be electrically connected to communicate power and/or data signals between the barcode reader 102 and another device, such as a point-of-sale (POS) device (not shown). The barcode reader 102 may have a variety of alternative configurations, as understood in the art.

With regard to FIG. 2 , an illustration of components 200 of a barcode reader configured to perform a dual-intensity, continuous illumination process, is shown. The components 200 may include an image capture circuit 202, an image sensor 204, an illumination drive circuit 206, and a light source 208 in electrical communication with the illumination drive circuit 206. The image capture circuit 202 may be configured to acquire an image of a scene or target area within a field-of-view of the barcode reader utilizing the dual-intensity, continuous illumination modes, as further described herein. The image capture circuit 202 is in electrical communication with said image sensor 204. The image sensor 204 may transmit a frame sync signal 210 and an exposure signal 212 that may indicate how the image sensor 204 captures images of the target area. In one embodiment, the image sensor 204 may be formed as a global shutter complementary metal-oxide-semiconductor (CMOS) sensor. In one embodiment, the image sensor 204 may be formed as a charged couple device (CCD) sensor. In operation, the image capture circuit 202 may transmit a command or signal for starting a sensor (with a predetermined exposure duration) using a sensor communication and control interface 233 that activates a global shutter of the image sensor 204 to cause the pixels of the image sensor 204 to activate or deactivate substantially simultaneously, as understood in the art. In one embodiment, the exposure signal 212 may be used by the sensor 204 to indicate to the image capture circuit 202 that the image sensor 204 is exposing the pixels for image acquisition.

The image capture circuit 202 may also transmit control signals 214 to the illumination drive circuit 206. The control signals 214 may include a low power enable signal 216, an illumination enable signal 218, a strobe signal 220, and an illumination synchronize select signal 222. One of skill in the art will appreciate that naming conventions of signals are irrelevant to functionality of the signals. Additionally, one of skill in the art will appreciate that substantially similar control systems may be accomplished through the use of fewer or more control signals than depicted herein. By way of the controls signals 214, the image capture circuit 202 may cause a first portion of the illumination drive circuit 206 to transmit a short high illumination drive signal 224 a to the light source 208 to cause the light source 208 to output a high illumination signal (e.g., strobe). Furthermore, the image capture circuit 202 may cause a second portion of the illumination drive circuit 206 to transmit a low illumination drive signal 224 b that causes the light source 208 to output a low illumination. As further described with regard in FIG. 4 , rather than having two drive signals per se, the drive signals are defined as different portions of a single illumination drive signal.

More specifically, the high illumination drive signal 224 a may be a high current pulse that causes the light source 208 to emit a strobe. The low illumination drive signal 224 b may be a low current signal that causes the light source 208 to emit a low and substantially stable illumination or light. An embodiment of the illumination signals 224 a and 224 b are described in further detail with regard to FIGS. 3 and 4 . The high illumination may be a short powerful flash of light configured to achieve high motion tolerance and dominate a scene in a near field of the field-of-view. The low current signal may be configured to illuminate the field-of-view during a portion of or remaining part of a frame time to support capturing images of objects in the field-of-view, including the far field, so to illuminate the object for a longer time and combined with an integration time so as to (i) integrate extra light and (ii) have sufficient brightness on the image. Moreover, with additional low illumination, a higher power efficiency in illuminating may be achieved when using integration time longer than a high pulse time. By providing both a high illumination and low illumination, shortcomings of imaging machine-readable codes on items that may be moving and at different distances and speeds by conventional barcode readers may be reduced or eliminated.

In one embodiment, the image capture circuit 202 may include a transimpedance amplifier (TZ) circuit 226, in electrical communication with a light sensing device 228, or other similar light or illumination sensing device such as a photodiode. Alternatively, the amplifier circuit 226 may be in electrical communication with the image capture circuit 202. In operation, a return signal 230 representing amount of light in the target area may be captured by the light sensing device 228 and amplified by the amplifier circuit 226. The return signal 230 may be used by the image capture circuit 202 to adjust a shutter of the image sensor 204. As further described in FIGS. 6A-8B, a first portion of the return signal 230 may represent ambient light in the target area, a second portion of the return signal 230 may represent illumination resulting from a strobe of the light source 208, and a third portion of the return signal 230 may represent a response to the illumination resulting from the low illumination of the light source 208.

The return signal 230 may be processed by an algorithm (embodied in hardware and/or software) being executed by the image capture circuit 202 (or other processing device) on a periodic (e.g., repeated time period), aperiodic (e.g., in response to an event, such as a return signal value over a threshold), or continuously during a reading process. The algorithm may be configured to determine when the signal shape is indicative of a high illumination or a continuous low illumination. Under each of the high and low illumination condition, the algorithm may further be configured to determine (i) the most probable distance of the object from the reader, (ii) the most probable movement direction and speed of the object with respect of the reader, (iii) the most probable size of the object, (iv) the most probable light reflecting capability of the object, and (v) ambient light amplitude modulation, if present, that may be caused by oscillating artificial light sources (e.g., neon light bulbs), for example.

As shown, image data 232 is captured from image sensor 204 imaging the target area. As further described with regard to FIG. 4 , the image data 232 is captured when the shutter, in this case an electronic shutter, is open or at an active level, as indicated by the exposure signal 212.

With regard to FIG. 3 , a schematic diagram of an illustrative illumination drive circuit 300, is shown. The illumination drive circuit 300 may include a power supply controller 302, an energy storage component 304, a current sink 308, and a driving circuit 310. The illumination drive circuit 300 may be in electrical communication with a light source 306 between the energy storage component 304 and the current sink 308. The power supply controller 302 may receive power from an external source 312, such as (i) the image capture circuit 202 of FIG. 2 or (ii) a power source included in a barcode reader. In an embodiment, the light source 306 may be integrated into the illumination drive circuit 300. The light source 306 may include one or more light emitting diodes (LEDs) or LED chain.

In one mode of operation, the power supply controller 302 may be configured to charge the energy storage component 304. The energy storage component 304 may include at least one capacitor, or in other embodiments, at least one supercapacitor. The energy storage component 304 may be configured to discharge after being charged by the power supply controller 302 to create an illumination drive signal 314 that may be transmitted to the light source 306 and cause the light source 306 to emit light. As a result of the discharge of the energy storage component 304 and subsequent current limiting by the power supply controller 302, the illumination drive signal 314 may include a first portion defined as a high illumination drive signal and a second portion defined as a low illumination drive signal, described hereinabove with reference to FIG. 2 and hereinbelow with reference to FIG. 4 . After a low illumination is turned off, the energy storage 304 may start charging up again for a remaining period of time before a start of a next frame.

In another mode of operation, the power supply controller 302 may be configured to always be on when the sensor is working, with the current sink 308 constantly draining a variable amount of current. The energy storage component 304 may include at least one capacitor, or in other embodiments, at least one supercapacitor. The energy storage component 304 may have a function of stabilizing a power supply generated by the supply controller 302 (i) to create an illumination drive signal 314 that may be transmitted to the light source 306, and (ii) to cause the light source 306 to emit light. Depending on the signal LOW_POWER_EN 318, the power supply controller 302 may operate with a high current limit (LOW_POWER_EN 318 is not enabled) or with a low current limit (LOW_POWER_EN 318 is enabled), so to have the illumination drive signal 314 include a first portion defined as a high illumination drive signal and a second portion defined as a low illumination drive signal with indefinite length (i.e., a dual illumination signal produced by a single illumination pulse with at least two levels or intensities of electrical current intensity and duration values in a single exposure/frame), described hereinabove with reference to FIG. 2 and hereinbelow with reference to FIG. 5 . This high illumination and low illumination control of the illumination drive signal 314 is shown to be a dual intensity, continuous illumination by a light source, and may be considered the most energy efficient method for illumination, since all the absorbed current is directly supplied to the LEDs 306 without charge/discharge cycles of energy storage 304 and with the least possible thermal dissipation on resistance of current sink 308 that is constantly draining with lowest possible resistance. Alternatively the high illumination and low illumination control can be achieved by maintaining power supply 302 set with a high current limit, keeping LOW_POWER_EN signal 318 not enabled, and instead regulate the intensity of the illumination drive 314 using CURRENT_INTENSITY_CONTROL 320 d that sets the driving circuit 310 for draining a high or low amount of current on the current sink 308. After the low illumination drive signal, the high illumination drive signal may be activated again without the low illumination drive signal having to turn off. This mode of operation allows for a constant illumination, that may switch seamlessly between high and low illumination. This embodiment corresponds to an illumination lasting the whole duration of a frame, wherein the capacitor is fully drained, and the current needed to keep the illumination on is supplied by 312 the external source.

In one embodiment, the first portion of the illumination drive signal 314 has a duration shorter than a duration of the second portion of the illumination drive signal 314. For example, the first portion of the illumination drive signal 314 may be pulse-shaped. The second portion of the illumination drive signal 314 may also have a substantially constant current or current within upper and lower current thresholds. The duration of the first portion and the duration of the second portion may be repetitively constant. In other words, the shape of the illumination drive signal 314 may repeat over successive image frames (see FIG. 4 ). In one embodiment, the charging the energy storage component 304 may result in a power level above a threshold of a capacity of the external source 312.

The current sink 308 may be in electrical communication with the light source 306 such that an illumination drive signal 314 flows through the light source 306 to the current sink 308, thereby causing the light source 306 to emit an illumination or light responsive to the illumination drive signal 314. A low power enable signal 318 applied to the power supply controller 302 from an external controller, such as, but not limited to, the image capture circuit 202 of FIG. 2 may cause the power supply controller 302 to output the illumination drive signal 314 with the second portion to cause the light source 306 to turn on with a low level light (i.e., not a strobe). Additionally, control signals 320 a, 320 b, 302 c, and 320 d (collectively 320) from an external controller, such as, but not limited to, the image capture circuit 202 of FIG. 2 may control operation of the driving circuit 310, and transitively, the current sink 308 and the illumination drive signal 314. In one embodiment, control signal 320 a may be an illumination enable signal, control signal 320 b may be a strobe signal, control signal 320 c may be an illumination synchronize select signal, and control signal 320 d may be a signal controlling illumination current intensity drained by the current sink 308, all transmitted from the image capture circuit 202 of FIG. 2 .

In one embodiment, the current sink 308 may include a metal-oxide-semiconductor field-effect transistor (MOSFET), and the driving circuit 310 may include a field-effect transistor (FET). The strobe signal 320 b may signal when to turn the light source 306 on and off. The light source 306 may stay on for a pre-defined time period, which may be substantially constant (e.g., longer than the longest exposure time available). At a time that the energy storage component 304 is discharged, the power supply controller 302 may limit current applied to the light source 306 to a pre-defined value to maintain the light source 306 in an illuminated state. The illumination peak duration of the light source 306 is generally limited to the accumulated energy in the energy storage component 304. The illumination synchronization select signal 320 c may control moving illumination in and out of or otherwise synchronizing illumination over an exposure time period of an image sensor associated with the illumination drive circuit 300.

In another embodiment, the current sink 308 may include a metal-oxide-semiconductor field-effect transistor (MOSFET), and the driving circuit 310 may include a field-effect transistor (FET) and may also include a circuit for dynamically controlling the amount of current passing through the current sink 308 by dynamically controlling said MOSFET, as decided by driving circuit 310 depending on the current signal CURRENT_INTENSITY_CONTROL 320 d. The strobe signal 320 b may signal when to turn the light source 306 on and off. The light source 306 may stay on for an undefined time period, which may be substantially constant (e.g., longer than the longest exposure time available) and seamless when switching between high and low illumination. At a time decided by the image capture control circuit, the power supply controller 302 may limit current applied to the light source 306 to a pre-defined LOW or HIGH value to maintain the light source 306 in an illuminated state with LOW or HIGH intensity. The illumination HIGH intensity duration of the light source 306 is determined by the time in which the power supply controller 302 is working with the high current limit. Alternatively, at a time decided by the image capture control circuit, the driving circuit 310 may control the amount of current drained by the current sink 308 and passing through the light source 306 to a pre-defined LOW or HIGH value to maintain the light source 306 in an illuminated state with LOW or HIGH intensity. The illumination HIGH intensity duration of the light source 306 is determined by the time in which the driving circuit 310 is working with the high current limit. The illumination synchronization select signal 320 c may control moving illumination in and out of or otherwise synchronizing illumination over an exposure time period of an image sensor associated with the illumination drive circuit 300.

With regard to FIG. 4 , an illustration of an illustrative graph 400 of illumination and control signals of a barcode reader, is shown. The graph 400 may illustrate an embodiment of a VSYNC signal 402 that indicates a frame rate of an image sensor (e.g., image sensor 204 of FIG. 2 ) of the barcode reader, an LED OUT signal 404 that indicates exposure times (T_(EXP)) 406 a, 406 b, and 406 c (collectively 406) of the image sensor, (that may have an order of magnitude of approximately 10 milliseconds) and an illumination current signal or ILL_CURR 408, such as the illumination signal 314 of FIG. 3 that is used to drive a light source. In one embodiment, the VSYNC signal 402 may begin a frame at a high transition 402 a and end the frame at a low transition 402 b separated by a frame gap 409. The frame rate, which in this case is defined between successive high transitions 402 a of the VSYNC signal 402, may be set at any rate appropriate for barcode reading as understood by one of skill in the art. For example, the frame rate may be 60 frames per second. One of skill in the art will appreciate that the VSYNC signal 402 may also be any kind of transaction or sequence on the sensor interface that signals the end of the frame depending on which interface the sensor is using, such as RAW8, LVDS, MIPI CSI-2, etc.

In one embodiment, the illumination signal 408 may include high illumination drive signal portions 410 a, 410 b, and 410 c (collectively 410), low illumination drive signal portions 412 a, 412 b, and 412 c (collectively 412), and additional drive signal portions 414 a, 414 b, and 414 c (collectively 414). The illumination signal 408 may include illumination signals between a current minimum threshold 416 and a current maximum threshold 418. As shown, an illumination time (I_(LLUM)) may span a duration of the high illumination drive signal 410 and the low illumination drive signal 412. In another embodiment, the illumination time may include the high illumination drive signal 410, the low illumination drive signal 412, and the additional drive signal 414, and be configured to end as another illumination time begins, creating a substantially continuous illumination effect. In one embodiment, light of this continuous illumination may be reflected by objects in the field-of-view and may be detected by a light sensitive device, such as a photodiode, whose signal may be interpreted for evaluating object movements and proximity. Turn on edges 420 a, 420 b, and 420 c (collectively 420) of the illumination time may occur as the high illumination drive signal initiates and begins to rise. The exposure times 406 may be adjustable, and begin after the turn on edge 420 of the illumination time. Duration of the exposure times 406 may be determined based on a variety of factors, such as item distance from the barcode reader, ambient light intensity, and so forth. As a result, a barcode reader that utilizes the illumination signal 408 may have high performance by providing both motion tolerance and an extended depth-of-field range. In one embodiment, if such a barcode reader also integrates a light sensitive device, the barcode reader may also detect proximity and movement of objects in the field-of-view and use the proximity and movement information for the optimization of the image sensor configuration (e.g., exposure time, gain, etc.) and the illumination circuit operating mode (e.g., enable/disable high current pulse, sync and timing of the high current pulse, etc.) that is applied when acquiring the next image.

With regard to FIG. 5 , an illustration of an illustrative graph 500 that depicts an imaging frame and an illumination current level over the imaging frame by a barcode reader, is shown. The graph 500 is representative of generalized timings and current levels for generating a dual-intensity, continuous illumination by a light source over which the signaling of FIG. 4 occur. For example, a high current pulse occurs in the region 502, a low current baseline signal occurs over the timeframe and generally in the region 504. An integration time of an image sensor occurs in the region 506. A frame time extends over the region 508. The generalized regions and current levels provide for a “continuous on” light, and the low current baseline limits the flickering effects in case of frame rate less than 60 frames-per-second (FPS) that is the case for some low-cost megapixel global shutter sensors used in barcode applications. The high current is effective in what is sometimes referred to as a “sweet spot” (near and intuitive reading area), where the motion tolerance is to be maximized, while the low current fills up the frame time and can be used to extend the depth-of-field by providing additional light for cases in which longer exposure periods are needed because the object is far and is reflecting a low amount of light.

If an LED completely off a transimpedance amplifier is representative of an ambient light only and so a system may be very reactive from a first trigger in response to using information that an exposure time may be predicted and prepared before a CMOS sensor is switched on to capture images.

A high, low combination in a continuous pulsed mode may allow distinguishing between no object and object in front of a reader and variations may be representative of a distance. From a response of a waveform, three different behaviors may be observed: far, mid-range, and near. FAR: if low intensity spikes of a pulsed high part only are present the object may be at far range and also either very small or very far. MID-RANGE: if high spikes of the pulsed high part only are present the object may be at medium range and can be either very small or in a far part of the mid-range. NEAR: if a continuous part of the low rises the object may be in a near range and may be also either very big, very reflective or very close to the reader.

A continuous part rising very evidently may be representative of a near range with a big or very close object. In one embodiment, a signal change may be evident even in a space between two consecutive peaks and may allow maximum reactivity that may be an advantage represented by having the low part of the pulse continuously.

Additionally, the low current illumination period might be combined with the by using use of the photodiode, producing signals such as shown in FIGS. 6A-8B and allowing for the detection of the reflectivity of objects present in the target area. Thanks to algorithms running on the image capture circuitry, this information can be interpreted and used for optimizing the illumination system and image sensor parameters for capturing the subsequent image. In this case, the high current short pulse may be turned off for energy savings when object is very near to the reader and moving slowly or not moving at all, being the low current pulse sufficient for correctly illuminating the object with a longer exposure; in this case there is no blur issue due to long exposure since the object is not moving fast.

With regard to FIG. 6 , illustrative graphs 600 at a first scale and second, zoomed in scale showing photodiode readings captured by an oscilloscope of an object with a code in a near field and a far field of a target area of a barcode reader, is shown. The oscilloscope output may represent a signal from the photodiode and transimpedance amplifier of FIG. 2 . A signal 602 may represent a sweep of the target area, where the sweep may return far field responses 604 to a light resulting from a continuous low illumination drive signal, far field responses 605 to a light resulting from pulsed high illumination drive signal, near field responses 606 a and 606 b (collectively 606) to a light resulting from a high illumination drive signal, and object indication baseline responses 608 a and 608 b in response to the object, or item, being in the near field of the target area, or field-of-view, of the barcode reader resulting from response to low illumination drive signal. In one embodiment, the signal 602 may be digitized by an alternating current-to-digital current converter (ADC) channel of a microprocessor that may be equipping the barcode reader and may be processed by software.

In one embodiment, the high pulse near field responses 606 or fair field response 605 may be with a variable frequency the mean of which corresponds to the sensor frame rate, since it is the response (i.e., light reflected by objects in field of view) from the high pulse at the start of each sensor exposure. In one embodiment, such as that in FIGS. 6A and 6B, time between high pulses is shown to be approximately 19 milliseconds, corresponding to an approximately 53 frames per second (FPS) sensor frame rate. In one embodiment, the high intensity pulse duration is approximately 640 μs. However, the far field responses 604 may include more variance as a result of ambient light from the target area. The ambient light may have a more easily detectable effect on responses to low illumination than on responses to high illumination. The near field object indication pulse responses 608 may be indicative of parameters of the object, such as, but not limited to, distance from the barcode reader, travel speed of the object, size of the object, and reflectivity of the object. In one embodiment, the continuous low level illumination intensity may be configured to have a value approximately 1/10 of the high pulse light intensity, or any appropriate value as understood by one of skill in the art approximately under twenty percent of the high pulse light intensity. As a result of receiving data regarding distance, speed, size, and reflectivity of the object, among other parameters, the barcode reader may optimize illumination circuit configuration, future exposure times, and sensor gain to minimize, or substantially avoid, motion blur, and image brightness and contrast without seeing any black, under-exposed, over-exposed, or missing frames. It should be understood that the specific time and ratio values may be altered based on a number of practical factors in imaging barcodes.

In one embodiment, a zoom indicator box 610 a indicates a time segment of the signal 602 that is represented in greater detail in FIG. 6B. The zoom indicator box 610 a of the signal 602 may be represented by a zoomed-in signal 610 b defined by a start time 612 a and stop time 612 b and a maximum value and minimum value as confined by the square. The zoomed-in signal 610 b provides a zoomed-in view that may better allow a user to identify characteristics of the signal 602 over the timeframe from the start time 612 a to the stop time 612 b. The object identification pulse response 608 b may be indicative of an object travelling through the near field of the target area of the barcode reader.

An oscilloscope trace showing a photodiode output in case of a sweep of an object in front of a reader at pretty high velocity and a distance compatible with a sweet spot reading.

Peaks are spaced by a frame time (each high lamp is triggered by LED out rising edge and has constant time of 640 microseconds). The signal that is generated back by the low part of the light pulse that is a residue between two consecutive pulses may be varying. A shape of a continuous part of the signal may be representative of a distance and of a speed of the object that may be “Flying” in the sweet spot. In case of a single pulse only, the system may have been blinded between each pulse because of no light. With the low part of light the system may be seeing a scene with a power of continuum and so with maximum reactivity to scene changes.

A system may set the low portion of the light pulse to be 1/10 of the high portion while still having very good energy efficiency and very good motion tolerance while in the field-of-view, such as “in the sweet spot.”

The transimpedance amplifier and photodiode may cost in a range of a few tenths of a dollar so a solution may be inexpensive and effective. A signal from the transimpedance amplifier may be digitized by an ADC channel of a microprocessor that is equipping the barcode reader and can be processed by software.

With regard to FIG. 7 , graphs 700 showing illustrative photodiode readings captured on an oscilloscope of an object with a code in a target area of a barcode reader, is shown. A signal 702 of FIG. 7A, may be the same or similar to the signal 602 of FIG. 6 , whereas the signal 710 b of FIG. 7B is the zoom of 702 that focus on a part of the acquisition when objects where only on far field. Far field responses to a light resulting from a continuous low illumination drive signal 704 may be the same or similar far field responses 604 of FIG. 6 . Far field responses 705 a and 705 b (collectively 705) to a light resulting from pulsed high illumination drive signal may be the far field responses 605 of FIG. 6 , with pulse response 705 a corresponding to a possible object in the far field probably even further (or smaller and less reflective) than object corresponding to pulse response 705 b. Object movement identification pulse sequence (pulse envelope) responses may represent a response to the object travelling through the far field of the target area of the barcode reader, with pulse response 708 a being indicative of an object coming nearer and pulse response 708 b the object being indicative of the object moving away.

In one embodiment, a zoom indicator 710 a that indicates a time segment of the signal 702 a start time and stop time and a maximum value and minimum value as confined by the square from start time 712 a to stop time 712 b that is represented in greater detail in FIG. 7B with the zoomed-in signal 710 b. The zoom indicator 710 a of the signal 702 may be represented by the second section 710 b on a smaller scale and across an abbreviated time. The zoomed-in signal 710 b provides a zoomed-in view of the signal 702 over the start time 712 a to stop time 712 b that may better allow a user to identify characteristics of the signal 702 in response to identifying the object movement pulse response 708 a indicative of an object travelling through, closing in, or going further from the far field of the target area of the barcode reader.

With regard to FIG. 8 , illustrations of illustrative graphs 800 at a first scale and second, zoomed-in scale showing photodiode readings captured by an oscilloscope of an object with a code in a near field and a far field of a target area of a barcode reader, is shown. A signal 802, which may be the same or similar to the signal 602 of FIG. 6 , is shown. Far field responses to a light resulting from a continuous low illumination drive signal 804 may be the far field responses 604 of FIG. 6 . Near field responses 806 to a light resulting from a high illumination drive signal may be the near field responses 606 of FIG. 6 . Object identification pulse responses to a light resulting from a continuous low illumination drive signal 808 may represent a response to the object travelling through the near field of the target area of the barcode reader.

In one embodiment, a zoom indicator 810 a indicates a time segment of the signal 802 a start time and stop time and a maximum value and minimum value as confined by the square from start time 812 a to stop time 812 b that is represented in greater detail in FIG. 8B with the zoomed-in signal 810 b. The zoom indicator 810 a of the signal 802 may be represented by the second section 810 b on a smaller scale and across an abbreviated time, and in even greater detail than that of the first section 610 b and the second section 710 b. The zoomed-in signal 810 b may provide a zoomed in view over the timeframe defined by the zoom indicator 810 a that may better allow a user to identify characteristics of the signal 802, as described in greater detail hereinabove, in response to identifying the object identification pulse response 808 indicative of an object travelling through the near field of the target area of the barcode reader with a greater focus on the object identification pulse response 808 than that shown by the object identification pulse response 608 b of FIG. 6 . In one embodiment, a frame time of the signal 802 may be 16.6 ms in a case of a frame rate of 60 FPS.

A ZOOM in FIG. 8A may represent a single rising event in the continuous low response and representing an advantage of the continuous part of the signal. In case of no low part of light, it would not be possible to follow the object from peak to peak. The system may be blinded waiting for a next peak. Since the distance between two peaks is a frame time, so 16.6 milliseconds in case of WVGA 60 FPS, a scene sampling without the low part of light would be 16.6 milliseconds. The low part may be continuous instead.

With regard to FIGS. 9A and 9B, illustrations of illustrative graphs 900 at a first scale and second, zoomed-in scale showing photodiode readings captured by an oscilloscope of an object with a code in a near field and a far field of a target area of a barcode reader is shown. A signal 902, which may be the same or similar to the signal 602 of FIG. 6 , is shown. In the waveform, baseline modulation 904 may be caused by ambient light modulation with a frequency of 100 Hz, as is that of a NEON lamp.

In one embodiment, a zoom indicator 910 a indicates a time segment of the signal 902 a start time and stop time and a maximum value and minimum value as confined by the square from start time 912 a to stop time 912 b that is represented in greater detail in FIG. 9B with the zoomed-in signal 910 b. The zoom indicator 910 a of the signal 902 may be represented by the second section 910 b on a smaller scale and across an abbreviated time. The zoomed-in signal 910 b may provide a zoomed in view over the timeframe defined by the zoom indicator 910 a that may better allow a user to identify characteristics of the signal 902, as described in greater detail hereinabove, in response to identifying what type of modulation the ambient light is carrying by analyzing baseline modulation as in modulation 904. In general, a reader may also use the information on ambient light (i.e., modulation, intensity, etc.) for better configuring the sensor and the illumination system when the reader is not acquiring images yet, so right before starting a new acquisition phase: by knowing the amount of light that the sensor is probably going to receive in the imminent first image, the reader can fine tune illumination system intensity, sensor exposure, and gain. In one embodiment, a reader may use a rolling shutter sensor that is very sensitive to ambient light modulation. The reader may use the information hereinabove described to synchronize frame timing with the ambient light modulation, so to avoid flickering effect that are a rolling shutter issue well known by those skilled in the art.

A system may be also used to see what type of modulation an ambient light is carrying. In FIG. 9 , modulation of a NEON lamp on a signal is shown and an estimate of a type of light that a reader is dealing with is shown.

With regard to FIG. 10 , a flow chart of a possible algorithm that a reader using dual intensity continuous illumination and photodiode may use in a processing and control system for system level optimization according to the scene present in the field-of-view. The illumination system may continuously emit low intensity level light that is reflected back and sensed by the photodiode. By profiling (monitoring) the signal coming from the photodiode, assuming that there is an object targeted (i.e., barcode to be decoded), it is possible to infer and hypothesize any or all of the following: object speed over the field of view, object movement (if closing in or moving away to the sensor and/or to the FOV center), object proximity, object light reflectivity, and object size. For example, this processing can be done by analyzing the absolute value of the photodiode signal and its first order (eventually also the second order) time derivative. This processed data is then passed to the algorithm that operates choices and prepares the system for acquiring the best possible image by modifying parameters such as, but not limited to, sensor gain, sensor exposure time, illumination high intensity pulse, and so on. Some example cases representing some generic but notable scenes possibly present in the field-of-view, and an example of how the system should be set accordingly to the scene are as follows:

-   -   a) If the object is near, exposure time should be short or         pulsed high-intensity flash might be avoided, since it is         probable to have sufficient light for a good image;     -   b) If the object is closing in significantly fast, exposure time         should be very short in order to avoid motion blur;     -   c) If the object is moving away significantly fast, exposure         time should be moderately short, but gain should be high, in         order to avoid motion blur, but compensate for the lack of         acquired light with higher sensor gain for maintaining a good         brightness and contrast; and     -   d) If the object is far and slowly moving, exposure time should         be very long and pulsed high-intensity flash might be avoided,         since the risk of motion blur is reduced and constant low         illumination works very efficiently with long exposure time even         if high intensity pulse is not present.

In FIG. 10 , an example of what the algorithm can modify in order to optimize the system is indicated. In this example a sensor with variable three level gain control is used with lower number being lower gain; the exposure can be of five possible durations with lower number being shorter exposure. The high intensity pulse illumination FLASH can be enabled or disabled, while the low level illumination is constantly on.

In FIG. 10 , the starting state is that of data gathering from the photodiode. Then right before (e.g., less than 1 millisecond) the next image is being taken, the decision process start, that may be when only the low illumination is on, since the high illumination pulse starts when the sensor is exposing and ends well before the end of the frame. If the baseline value of the photodiode is high, then a high amount of light is being received and probably the object is near. If the first derivative of the signal is high, then the object is probably moving and if the derivative is positive the object is closing in, so low gain and short exposure are best with the high illumination pulse active for freezing movement (leftmost branch). A similar process is applied on the other branches of the flow chart with the left branch the case of near bright object (much light being sensed) with the use of short exposure and low gain; with the center branch being the case of far or dark object (low light being sensed) so with the use of high exposure and gain; with the rightmost branch being an intermediate one, such as in a transition from near field to far field. The process described and shown in FIG. 10 is an example of implementation to show the overall concept, and the two main principles that combined together determines the choice of the algorithm:

-   -   a) Optimize image brightness and contrast: the sensor gain and         exposure time that are applied before the next image acquisition         shall be inversely proportional to the expected light reflected         by the object in the field of view.     -   b) Minimize motion blur: the sensor exposure time that is         applied before the next image acquisition shall be inversely         proportional to the time first derivative module of the         photodiode signal (which might be proportional to the speed of         the target in the field of view).

To summarize, the high intensity short-pulse flash provides image quality boost when the object is sufficiently near and exposure time is significantly short, while extended exposure with extended low light illumination and higher gain are more energy efficient and boost image brightness when the object is far.

In one embodiment, the algorithm may also analyze the profile curve (envelope) of the high peaks sensed by the photodiode (corresponding to the high intensity light pulses) together with the data from the signal corresponding to the constant low intensity pulse for better understanding the movement of the object, as is described in FIG. 7 .

A low intensity, continuous LED light may be combined with a photodiode (or equivalent photo-sensitive detector) for detecting an amount of light (ambient or reflected) that the image sensor may receive when taking a next picture of a scene in a field-of-view.

By profiling a signal coming from a photodiode, assuming that there is an object targeted (i.e. barcode to be decoded), it may be possible to infer and hypothesize: object speed over the field-of-view, object movement: if it is closing in or moving away to the sensor and/or to the FOV center, object proximity, and object light reflectivity.

In one embodiment, a system may analyze an absolute value of a photodiode signal and its first order (eventually also the second order) time derivative.

Considering an illumination and sensor system as described above, with dual-illumination (pulsed high and continuous low), an example of how the system may be set accordingly to the scene is described. If the object is near, exposure time should be short or pulsed high-intensity flash might be avoided. If the object is closing in significantly fast, exposure time should be very short. If the object is moving away significantly fast, exposure time should be moderately short but gain should be high. If the object is far and slowly moving, exposure time should be very long and pulsed high-intensity flash might be avoided.

Two main principles that may be combined together may determine a choice of the algorithm: optimize image brightness and contrast: the sensor gain and exposure time that are applied before the next image acquisition shall be inversely proportional to the expected light reflected by the object in the field of view.

Minimize motion blur: the sensor exposure time that may be applied before the next image acquisition shall be inversely proportional to the time first derivative module of the photodiode signal (which might be proportional to the speed of the target in the field of view). The high intensity short-pulse flash may provide image quality boost when the object is sufficiently near and exposure time is significantly short.

In another embodiment, in an initial state, the illumination system can be used either in off condition or in constant low illumination in order to save energy and creating a base of illumination that, in conjunction with the photodiode, can be exploited in stand or hands free operation mode for triggering the reader for image acquisition only when an object passes through the field of view. In such a case, the peaks disappear and there is the baseline modulation effect only on the photodiode output, as indicated in FIGS. 6, 7, and 8 . Additionally, when the reader is triggered, high illumination pulse may also be triggered for capturing the moving object image with good image brightness and avoiding motion blur. This triggering allows for lower power consumption because power hungry image sensor and high current illumination are most of the time off and turned on only when needed.

In one embodiment, a system may include a photodiode for light sensing, while an LED lighting system may be used for time-continuous illumination. With this combination, it may be possible to assess a targeted scene ambient light and its capability to reflect LED light, so to distinguish a different scene conditions (e.g., object movement inside a field-of-view or object location—near or far field) and thus allowing for continuous and in real-time optimization of a system/image sensor operating conditions for capturing a subsequent image with a best possible brightness and contrast. This “Intelligent Continuous Scene-Based Optimization” may maximize reactivity to scene changes, with respect to all other systems that are instead limited to sensor integration rate for performing a same task.

In one embodiment, an LED system may provide dual-intensity illumination: short-pulsed High-intensity flash and a continuous Low-intensity and energy-efficient illumination. With this system, it may be possible to combine advantages of both illumination styles: short-pulsed light for a good motion tolerance when having near moving barcodes (short sensor integration time) and continuous light for best illumination and energy efficiency when having far or dark barcodes (long sensor integration time).

In one embodiment, a system may include a rolling shutter sensor since the system may also detect what type of modulation an ambient light is carrying (e.g., 100 Hz neon light) in response to a photodiode. A sensor integration frequency may be adjusted to be synced with the ambient light modulation, so to avoid image flicker.

In one embodiment, after discharging an energy storage component to produce a light strobe, a current illumination may be limited for continuous low level illumination while a reminder of a total input current may be used for charging a capacitor. Discharging the energy storage component may include discharging the energy storage component to generate the high current pulse and limiting current during low level emission periods alternates seamlessly, so to continuously illuminate the field-of-view for all the code reading operation of the associated code reader.

In one embodiment, different power consumption modes may be set by regulating a discharge resistance (i.e., a field-effect transistor Rds-on resistance) on a light source current.

In one embodiment of a method of illumination, after discharging an energy storage component to produce a light strobe, a current illumination may be limited for continuous low level illumination, while a reminder of a total input current may be used for charging a capacitor.

In one embodiment, limiting illumination current to a high level threshold for a brief time may be performed to cause at least one light source to produce a light strobe, and limiting current to a low level current threshold may be performed to cause at least one light source during low level emission periods defined by times outside a high current pulse. Limiting current during low level emission periods may occur over a duration longer than that of the high level current threshold to generate the high current pulse. The high level threshold current may be equal or lower than the illumination system power supply total input current. The high pulse or low continuous illumination currents are determined by the illumination system power supply total input current, so that for generating the high current illumination pulse, the power supply is to work with a high level threshold total input current, and for generating the low current continuous illumination the power supply is to work with a low level total input current threshold. Limiting current with a high level threshold to generate the high current pulse and limiting current with low level threshold during low level emission periods may have a combined duration longer than an integration time of an associated image sensor. Limiting current with high level threshold to generate the high current pulse and limiting current with low level threshold during low level emission periods alternates seamlessly so as to continuously illuminate the field-of-view for all the code reading operation of the associated code reader.

In one embodiment, a signal indicative of a light reflected by objects in a field-of-view may be processed by an algorithm at definite times or also continuously during a reader operation.

In one embodiment, an algorithm may be able to understand when a signal shape is a response to a high pulse light strobe or from a continuous low level light or from an ambient light and then may be able to determine one or more of: a most probable distance of an object from a reader, a most probable movement direction of an object with respect of the reader, a most probable size of the object, a most probable light reflecting capability of the object, and an ambient light amplitude modulation, if present, that may be caused for instance by oscillating artificial light sources.

In one embodiment, a code reader may include an algorithm output and then optimize one or more parameters of the code reader with a purpose of acquiring a best possible image in terms of a purpose of the code reader itself. The parameter may be one or more of, but not limited to, image sensor gain, image sensor exposure time, and timing and intensity of generated illumination.

In one embodiment, optimization may be performed with a purpose of having a best possible brightness and contrast of an image and a less possible motion blur, so to optimize the image for printed code decoding.

In one embodiment, a reader may use an algorithm output to optimize a system right before a first image of a reading session is going to be acquired, or in any case right before each subsequent image is going to be acquired.

In one embodiment, a reader may use an algorithm output to synchronize an image acquisition rate with an ambient light modulation, avoiding flickering effects.

In one embodiment, a process of an algorithm based object detection and system optimization may exploit a continuous low level light illumination for enhancing a code reader capability of detection during a reader working time.

In one embodiment, a detection of an object may trigger a new session of image acquisition. In one embodiment, an illumination drive circuit may include a working mode with low power consumption that may generate low illumination drive signal and a working mode with high power consumption that may generate high illumination drive signal. The power consumption modes may be set by configuring a power supply input current limit of a illumination circuit.

One embodiment of an illumination drive circuit may include a power supply controller electrically coupled to an external power source, and configured to limit absorbed current up to a limit level that may be dynamically controllable. The power supply may be further configured to set the limit level to at least two possible thresholds, including a high current limit and a low current limit. The illumination drive circuit may further include an energy storage component electrically coupled to the power supply controller, and configured to store electrical energy. The power supply controller and the energy storage component may form a current drive circuit that may be configured to generate high current pulses and low current signals. The illumination drive circuit may further include at least one light source in electrical communication with the current drive circuit, a current sink in electrical communication with the at least one light source configured to set a fixed sink resistance or dynamically control an amount of current passing through by varying sink resistance, and a driving circuit in electrical communication with the current sink and the power supply controller to enable the current drive circuit to drive the at least one light source to output light using a high current pulse or low current signal.

In one embodiment, the current sink may include a field-effect transistor. In one embodiment, the energy storage component may include at least one capacitor.

In one embodiment, the illumination drive circuit may further include a low power enable circuit in electrical communication with the current drive circuit. The low power enable circuit may be dynamically configured to control parameters used to generate the high current pulses and low current signals.

In one embodiment, the high current pulses may be above a threshold capable of being reached by the external power source. In one embodiment, the high current pulses may be below a threshold capable of being reached by the external power source.

One embodiment of a code reader may include a light source configured to illuminate a target area in which items are to be located for reading machine-readable indicia associated with the items. An image sensor may be configured to capture an image of the target area. An image capture circuit may be configured to cause the light source to generate a dual, continuous illumination to enable the image sensor to capture an image of an item within the target area in response to a first logic signal. In response to a second logic signal, the light source may cause a continuous low intensity light to be generated to capture an image of the item within the target area.

In an embodiment, the image sensor may be configured to generate a return signal indicative of light reflected by the item in the target area. The image capture circuit may further be configured to process the return signal. The image capture circuit may further be configured to process the return signal at periodic times or aperiodic times. In an embodiment, the image capture circuit may further be configured to process the return signal continuously during a reading process.

The image capture circuit may further be configured to determine when a shape of the return signal is in response to a high pulse portion of the dual illumination, from a continuous low level light, or from an ambient light, and in response, the image capture circuit may further be configured to determine one or more of the following: (i) a most probable distance of the item from the reader, (ii) a most probable movement direction and of the item with respect of the reader, (iii) a most probable size of the item, (iv) a most probable light reflecting capability of the object, and (v) an ambient light amplitude modulation, if present, caused by an oscillating artificial light source.

The image capture circuit may further be configured to process a return signal that is a reflectance of the dual, continuous illumination or continuous low intensity light so as to optimize one or more parameter of the code reader with the purpose of acquiring a best possible image. The one or more parameter may include one or more of (i) an image sensor gain, (ii) an image sensor exposure time, and (iii) timing and intensity of the dual, continuous illumination or continuous low intensity light. The image capture circuit may further be configured to optimize at least one imaging parameter to produce best possible brightness and contrast of an image and least possible motion blur. The image capture circuit may further be configured to utilize an output signal so as to optimize code reader prior to acquiring a first image of a reading session, or prior to each subsequent image to be acquired.

The image capture circuit may further be configured to use an output to synchronize an image acquisition rate with an ambient light modulation, thereby avoiding flickering effects. The image capture circuit may further be configured to detect an item during the continuous low intensity light to enhance detection of the item. The image capture circuit may further be configured to detect an item, and in response thereto, trigger a new session of image acquisition. In an embodiment, an illumination drive circuit may include a working mode with low power consumption that generates a low illumination drive signal and a working mode with high power consumption that generates a high illumination drive signal. A power supply controller circuit may be configured to limit input current that sets the power consumption modes.

The foregoing method descriptions and the process flow diagrams are provided merely as illustrative examples and are not intended to require or imply that the steps of the various embodiments must be performed in the order presented. As will be appreciated by one of skill in the art, the steps in the foregoing embodiments may be performed in any order. Words such as “then,” “next,” etc. are not intended to limit the order of the steps; these words are simply used to guide the reader through the description of the methods. Although process flow diagrams may describe the operations as a sequential process, many of the operations may be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination may correspond to a return of the function to the calling function or the main function.

The various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed here may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.

Embodiments implemented in computer software may be implemented in software, firmware, middleware, microcode, hardware description languages, or any combination thereof. A code segment or machine-executable instructions may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to and/or in communication with another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.

The actual software code or specialized control hardware used to implement these systems and methods is not limiting of the invention. Thus, the operation and behavior of the systems and methods were described without reference to the specific software code being understood that software and control hardware can be designed to implement the systems and methods based on the description here.

When implemented in software, the functions may be stored as one or more instructions or code on a non-transitory computer-readable or processor-readable storage medium. The steps of a method or algorithm disclosed here may be embodied in a processor-executable software module which may reside on a computer-readable or processor-readable storage medium. A non-transitory computer-readable or processor-readable media includes both computer storage media and tangible storage media that facilitate transfer of a computer program from one place to another. A non-transitory processor-readable storage media may be any available media that may be accessed by a computer. By way of example, and not limitation, such non-transitory processor-readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other tangible storage medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer or processor. Disk and disc, as used here, include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a non-transitory processor-readable medium and/or computer-readable medium, which may be incorporated into a computer program product.

The previous description is of a preferred embodiment for implementing the invention, and the scope of the invention should not necessarily be limited by this description. The scope of the present invention is instead defined by the following claims. 

What is claimed:
 1. A code reader, comprising: a light source configured to illuminate a target area; an image sensor configured to capture an image of the target area; an illumination drive circuit in electrical communication with the light source and configured to generate a continuous single, dual-intensity drive signal to the light source to cause the light source to operate in a high illumination time period or a low illumination time period; and an image capture circuit configured to control the image sensor and the illumination drive circuit for image capture to occur during at least one of the high illumination time period or the low illumination time period for the light source.
 2. The code reader of claim 1, wherein the high illumination time period has a shorter duration than the low illumination time period.
 3. The code reader of claim 1, wherein the illumination drive circuit comprises: a power supply controller electrically coupled to an external power source; an energy storage component electrically coupled to the power supply controller, and configured to store electrical energy; a current sink in electrical communication with the light source; and a driving circuit in electrical communication with the current sink and the power supply controller to drive the light source to output light.
 4. The code reader of claim 3, wherein the current sink includes a field-effect transistor.
 5. The code reader of claim 3, wherein the energy storage component includes at least one of a capacitor or a supercapacitor.
 6. The code reader of claim 3, wherein the current sink is configured to constantly drain a variable amount of current.
 7. The code reader of claim 3, wherein the power supply controller is configured to control parameters of the generation of the dual intensity drive signal to have high current pulses or low current signals responsive to a power enable signal.
 8. The code reader of claim 7, wherein the high current pulses are above a threshold capable of being reached by the external power source.
 9. The code reader of claim 3, wherein the driving circuit is further configured to provide different power consumption modes by regulating discharge resistance to current used to drive the light source.
 10. The code reader of claim 1, wherein the driving circuit is configured to receive one or more control signals from an external controller to control operation thereof.
 11. The code reader of claim 10, wherein the external controller is the image capture circuit.
 12. The code reader of claim 10, wherein the one or more control signals includes an illumination enable signal.
 13. The code reader of claim 10, wherein the one or more control signals includes a strobe signal for turning the light source on or off.
 14. The code reader of claim 10, wherein the one or more control signals includes an illumination synchronize select signal for synchronizing illumination over an exposure time period of the image sensor.
 15. The code reader of claim 10, wherein the one or more control signals includes an illumination current intensity signal for controlling illumination current intensity drained by the current sink.
 16. A method of operating a code reader, the method comprising: illuminating a target area via a light source of the code reader; capturing an image of the target area via an image sensor of the code reader; generating, via an illumination drive circuit of the code reader, a continuous single, dual-intensity drive signal to the light source to cause the light source to operate in a high illumination time period or a low illumination time period; and controlling the image sensor and the illumination drive circuit for image capture to occur during at least one of the high illumination time period or the low illumination time period for the light source.
 17. The method of claim 16, wherein generating the continuous single, dual-intensity drive signal includes: charging an energy storage component; discharging the energy storage component to generate a high current pulse to cause the light source to produce a light strobe during the high illumination time period; and limiting current to a low level current threshold to the light source during low level emission periods defined by times outside the high current pulse.
 18. The method of claim 17, wherein limiting current during low level emission periods occurs over a duration longer than that of discharging the energy storage component to generate the high current pulse.
 19. The method of claim 17, wherein discharging the energy storage component to produce a light strobe includes discharging the energy storage component at a substantially constant rate and for substantially the same duration.
 20. The method of claim 17, wherein generating the continuous single, dual-intensity drive signal further includes: limiting the high current pulse to a high level threshold for a time duration to cause the light source to produce a light strobe; and wherein limiting current with the high level current threshold to generate the high current pulse and limiting current with the low level current threshold during low level emission periods alternates seamlessly to continuously illuminate a target area by the light source. 